#define _CRT_SECURE_NO_DEPRECATE
#include "common.h"
#include "Shader.h"
#include "Mesh.h"
#include "Timer.h"
#include "win32Container.h"
#include "dx11App.h"
//#pragma once
//
//#ifndef UNICODE
//#define UNICODE
//#endif
//#define D3D_DEBUG_INFO
//#define comptr ComPtr
//#define Comptr ComPtr
//#define comPtr ComPtr
//#pragma comment(lib, "d3d11.lib")
//#pragma comment(lib, "dxgi.lib")
//#pragma comment(lib, "dxguid.lib")
//#pragma comment(lib, "uuid.lib")
//#pragma comment(lib, "d3dcompiler.lib")
//#pragma comment(lib, "d3d10_1.lib")
//#pragma comment(lib, "d2d1.lib")
//#pragma comment(lib, "dwrite.lib")
//#include <windows.h>
//#include <sstream>
//#include <fstream>
//#include <istream>
//#include <iostream>
//#include <string>
//#include <dwrite.h>
//#include <wrl.h>
//#include <vector>
//
//#include <d3d11.h>
//#include <d3d10_1.h>
//#include <dxgi.h>
//#include <d2d1.h>
//#include <d3dcompiler.h>
//#include <DirectXMath.h>
//#include <DirectXColors.h>
//
//#include "DDSTextureLoader11.h"
//using namespace Microsoft::WRL;
//using namespace DirectX;
//using namespace std;
//
//struct Light
//{
//	Light()
//	{
//		ZeroMemory(this, sizeof(Light));
//	}
//	XMFLOAT3 pos;
//	float range;
//	XMFLOAT3 dir;
//	float cone;
//	XMFLOAT3 att;
//	float pad2;
//	XMFLOAT4 ambient;
//	XMFLOAT4 diffuse;
//};
//struct Vertex    //Overloaded Vertex Structure
//{
//	Vertex() {}
//	Vertex(float x, float y, float z,
//		float u, float v,
//		float nx, float ny, float nz)
//		: pos(x, y, z), texCoord(u, v), normal(nx, ny, nz) {}
//
//	XMFLOAT3 pos;
//	XMFLOAT2 texCoord;
//	XMFLOAT3 normal;
//};
//struct VerTex
//{
//	VerTex() {}
//	VerTex(float x, float y, float z, float u, float v)
//		:pos(x, y, z), texCoord(u, v) {}
//	XMFLOAT3 pos;
//	XMFLOAT2 texCoord;
//};
//struct VerTexNor
//{
//	VerTexNor() {}
//	VerTexNor(float x, float y, float z,
//		float u, float v,
//		float nx, float ny, float nz)
//		: pos(x, y, z), texCoord(u, v), normal(nx, ny, nz) {}
//	XMFLOAT3 pos;
//	XMFLOAT2 texCoord;
//	XMFLOAT3 normal;
//};
//struct cbPerObject
//{
//	XMMATRIX  PVW;
//	XMMATRIX World;
//	XMFLOAT4 difColor;
//	bool hasTexture;
//};
//struct cbPerFrame
//{
//	Light light;
//};